import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel'

export type AccountParams = BasicPageParams & {
  account?: string
  username?: string
}

export type AccountUpdateParams = {
  id:string,
  state:number
}

export type RepeatValidaParam={
  id?:string,
  account?:string,
  idCard?:string
  phone?:string
}
export type UserParams = {
  id?:string,
  account?:string,
  password?: string,
  username?:string,
  roleId?:string,
  idCard?:string,
  phone?:string
  state:number
}

export type UserListGetResultModel = BasicFetchResult<UserListItem>

export type AccountListGetResultModel = BasicFetchResult<AccountListItem>


export interface UserListItem {
  id: string
  username: string
  account: string
  phone: string
  idCard: string
  gmtCreate: string
  state: number
}
export interface AccountListItem {
  id: string
  account: string
  email: string
  nickname: string
  role: number
  createTime: string
  remark: string
  status: number
}

//===================================
export type RoleParams = {
  roleName?: string
  status?: string
}
export type RolePageParams = BasicPageParams & RoleParams

export type DeptParams = {
  deptName?: string
  status?: string
}

export type MenuParams = {
  menuName?: string
  status?: string
}





export interface DeptListItem {
  id: string
  orderNo: string
  createTime: string
  remark: string
  status: number
}

export interface MenuListItem {
  id: string
  orderNo: string
  createTime: string
  status: number
  icon: string
  component: string
  permission: string
}

export interface RoleListItem {
  id: string
  roleName: string
  roleValue: string
  status: number
  orderNo: string
  createTime: string
}

/**
 * @description: Request list return value
 */


export type DeptListGetResultModel = BasicFetchResult<DeptListItem>

export type MenuListGetResultModel = BasicFetchResult<MenuListItem>

export type RolePageListGetResultModel = BasicFetchResult<RoleListItem>

export type RoleListGetResultModel = RoleListItem[]
